“Universal Plug and Play (UPnP) is architecture for pervasive peer-to-peer network connectivity of intelligent appliances, wireless devices, and PCs of all form factors. It is designed to bring easy-to-use, flexible, standards-based connectivity to ad-hoc or unmanaged networks whether in the home, in a small business, public spaces, or attached to the Internet. Universal Plug and Play is a distributed, open networking architecture that leverages TCP/IP and the Web technologies to enable seamless proximity networking in addition to control and data transfer among networked devices in the home, office, and public spaces. The UPnP standard is defined in the document “Universal Plug and Play Device Architecture”, Version 1.0, Jun. 8, 2000, (c) 1999-2000 Microsoft Corporation.
UPnP AV specifications define the interaction model between UPnP AV devices and associated control points. UPnP AV devices include TVs, VCRs, CD/DVD players, set-top boxes, stereo systems, still-image cameras, electronic picture frames, and PCs. The UPnP AV architecture allows devices to support various types of entertainment content such as MPEG2 and MPEG4 for video, JPEG for pictures, and MP3 for audio. It also allows various types of transfer protocols such as HTTP and Real-time Transport Protocol (RTP).
UPnP AV specifications define two types of logical devices on the home network: Media Servers and Media Renderers. They also define four “services” hosted by servers and renderers:
The Content Directory Service (CDS) enumerates the available “content” (videos, music, pictures, and so forth).
The Connection Manager Service determines how the content can be transferred from the Media Server to the Media Renderer devices.
The AV Transport Service controls the flow of the content (play, stop, pause, seek, etc.).
The Rendering Control Service controls how the content is played (volume/mute, brightness, etc.).
The UPNP Content directory Service (CDS) is a standard that allows devices to advertise the content they store on the network. Other devices (so-called Control Points) can send, browse and query actions to the CDS and thus look through the collection, obtaining meta-data about content like title, authors, media type, supported formats and supported DRM systems. Control Points can set up streams to play the content from the CDS on other devices (for example on a UPnP TV). Typically, to set up a stream, supported formats and DRM systems have to match on source and sink devices.
The meta-data offered by the CDS is used by Control Points to show it to users, and is used for selecting (searching) of particular content. Especially, it can be used to restrict the content shown to the user to that subset, which is really valid in the current circumstances. For example, content with a format/DRM system that cannot be rendered on a selected/anticipated Renderer might not be shown to the user. Alternatively, control points first allow users to select content, and subsequently select a compatible Renderer.
Experiments with prototypes of CDS in consumer electronics products have shown that browsing through the available information about content by (all) control points in the home network can put a significant load on all involved devices and on the network. A related problem is that Control Points often show all available content to a user, even content that cannot be used on any other device in the home. This is irritating to the user when he selects that content, only to find out that it is presented in the wrong format or wrong DRM system.